Introduction

VB AutoTyper v2.0.2

autotyper.gif (7143 bytes)

VB AutoTyper is a new addin for the Visual Basic Integrated Development Environment (VBIDE 5.0 & 6.0). It auto-expands words based on initially typed characters. It hopes to make coding faster, lighter, and easier. Plus, the one-click activation of code modules, forms, and other project components puts less strain on the programmer's fingers.

VB AutoTyper sports a new and improved word autoexpansion algorithm. Unlike in the previous versions, this new version auto-expands words 100% mess-free, all the time!

VB AutoTyper is designed to suit the needs of all VB programmers, regardless of their typing and programming skills. I would encourage even the most sophisticated touch-typist-programmers to give VB AutoTyper a try. It has been re-designed to give the user the least interference possible.

arrow_blue.gif (97 bytes) Click here for a summary of its features.


AutoTyper's Features

VB AutoTyper's Features

VB AutoTyper highlights the following features:

  • Auto-types VB keywords, custom words and phrases, variables, constants, methods, method parameters, and names of controls, forms, and modules

    demo.avi (160256 bytes)

  • IntelliSense-compatibility with its automatic dot[.], equal[=], [<], [>], [(], [)], [,], [+], [-], [*], and [/] typing feature after the word has expanded
  • Support for multiple projects
  • Selectable auto-expansion modes
  • Autosaves selected keywords and current settings
  • New feature for adding custom words/phrases
  • A convenient "off-and-on" button for enabling and disabling the autotyper feature when desired.

offon.jpg (5053 bytes)

  • Convenient "Update List" button for adding newly declared members from the currently active code module.

update.jpg (6009 bytes)

  • Accessible button for changing autotyper settings.

settings.jpg (5189 bytes)

  • Activation of standard and class modules with just one mouse click.

oneclick1.jpg (7814 bytes)


System Requirements

5700tfam.gif (5941 bytes)

For satisfactory performance, VB AutoTyper requires that the following minimum requirements be met:

  • A Pentium 233MHz or faster processor (Pentium II recommended)
  • Service Pack 3 for Visual Basic 5.0 or Service Pack 3 for Visual Basic 6.0
  • HTML Help Viewer -- Note: If you have Microsoft Internet 4.0 or later installed on your system, then you already have the viewer.


Acknowledgment

This add-in program could not have been possible without the creativity and inspiration of other individuals. First of all, I would like to gratefully acknowledge Mr. Francesco Balena for the use of his excellent IMsgHook Class Module, which is part of a sample program he wrote for an article published in the October 1998 issue of the Visual Basic Programmer's Journal (http://www.devx.com). Let me quote Mr. Balena's words that led me to think about an auto-typer for the first time:

"The feature I miss most is the ability to raise an event when the user types something into a code window. If that were possible, you could create keyboard macros, automatically expand a string typed by the user, or build an as-you-type spell checker. Imagine how cool it would be to have an add-in that corrects your code as you type, immediately warning you of unidentified variables or misspelled procedure names."

Well, an auto-typer is here -- maybe someone could come up with an as-you-type spell checker in the future.

I would like to thank Microsoft Corporation for making Visual Basic as programmable and extensible as it is today, and for the use of its free HTML Help Workshop.

Lastly, I would be remiss if I would not acknowledge the patience and understanding of my lovely wife and three wonderful children, for being there with me while I labored and spent long hours behind my computer just to finish this novel program.

(Dr.) Audimar P. Bangi
apbangi@worldnet.att.net
Program Author
Audi's Software
Raleigh, North Carolina
U.S.A.


Some favorites...

1. Private or Public?

Do you find yourself changing "Private" to "Public" or vice versa quite often? Then you'll love this one favorite feature. Play this little demo by moving your mouse pointer over the video segment below.

pubtopri.avi (138240 bytes)

2. Option Explicit, Implements

opexplicit.gif (1709 bytes)

Autotyping "Option Explicit" flies with VB AutoTyper. Even with the keyword "Implements". But what about "Optional"? Or "Option Compare Text"? If you do find yourself typing these instructions more often, then you may prefer to add "option", "explicit", and "compare" to your selected keyword list and then deselect "option explicit". Or better yet, add "option" and "explicit" to your selected keyword list and then add "Compare Text" to your list of custom words.

I prefer selecting "option explicit" and then adding "Compare Text" to my list of custom words. With this choice, I retain the feature of autotyping "option explicit" with just two characters. When typing "Option Compare Text", I simply type "Option", press <Shift><SpaceBar>, then type "co" to autotype "Compare Text". Unfortunately, the word "Optional" needs to be typed in full.

Oh, one last note -- the word "Explicit" doesn't auto-expand until you have typed "exp". The reason being that "ex" is among a group of character combinations that have been programmed not to automatically expand (see "Internal Design", AutoExpansion..."

3. Fond with Long Names?

Well, if you are like me, who prefers to use long variable and procedure names to make my codes easier to read and understand, then you'll probably decide to keep VB AutoTyper based on this feature alone. Personally, this is one favorite that I can't probably do without.

Play this one by moving your mouse pointer over the clip:

longnames.avi (60416 bytes)

You'll leave even the fastest touch typist in the dust. :-)

4. MsgBox, Clipboard, Screen, ... etceteras

Typing these keywords are now just a snap. And with VB AutoTyper's, IntelliSense-compatibility, it makes coding even easier and faster.

msgbox.gif (2276 bytes)

To autotype "MsgBox", just type "ms" and then hit the "SpaceBar".

clipboard1.gif (2336 bytes)

To autotype "Clipboard", just type "cl". Now to see IntelliSense-compatibility at work, type the dot [.] character. Cool, isn't it?

Try the same feature on the keyword "Screen"

screen.gif (2263 bytes)

5. Smart Add, Multiply, Subtract, and Divide

VB AutoTyper lets you type "=", "+", "-", "*", and "/" immediately after a word has autoexpanded, including the open and close parentheses [( )], the comma [,], and the less than [<] and greater than [>] signs. Play this little demo:

smartmath.avi (174592 bytes)

6. One-Click Activation

oneclick1.jpg (7814 bytes)

Here's one favorite that is good for your fingers and longevity as a programmer -- one-click activation of project components, especially standard and class modules. Click on the project component you wish to activate and VB AutoTyper will automatically activate it for you. Cool, isn't it? Try going back to VB's way (without VB AutoTyper) and decide which one is better for you.


Settings

Word Scope

This setting allows you to choose which words to include for auto-typing. You have the option of including or excluding component and member names -- variables, methods, controls, constants, procedure or method parameters, names of forms, standard modules, class modules, other project components (except resource files and related documents), and your selected VB keywords and custom words/phrases.

If you're working on an older generation Pentium (pre-Pentium II) with a fairly large project, you may want to limit the word scope to avoid typing to a crawl.

wordscope1.gif (6798 bytes)

Use the "Add/Delete Keyword" button to select/deselect VB keywords for auto-typing.

Selected Keywords

Start by building up your favorite (selected) keyword list.

keywordlist.gif (7975 bytes)

It is best to select just a handful keywords, not the whole list. By doing so, you avoid unwanted autoexpansions and do not unnecessarily clog up your memory. VB AutoTyper works faster and crispier, too.

Any keyword you want to add that is not in the built-in list, you can add it via your custom list (next section). Use the "Custom..." button for this purpose.

Custom List

customlist.gif (5910 bytes)

This feature was intended to give you flexibility in building your list of autoexpandable words or phrases. Just one quick note -- you can't include the dot [.] character. Otherwise, you can type just about any word or character combination you like. Obviously, you can Add, Remove, and Edit any custom word using the appropriate buttons.

Again, for best results, it is prudent not to clutter your list with unnecessary items.

Auto Modes

automode.gif (5435 bytes)

You have three basic options: (1) allow auto-expansion after typing 2 characters (default), (2) allow auto-expansion after typing 3 characters, or (3) allow auto-expansion after typing 4 characters.

For less interference, set the auto mode either to the second or third option. I prefer the default setting for two reasons. First, auto-typing is faster. Second, with VB AutoTyper's new word expansion algorithm, I can type at my own pace and not worry about the program messing up with my typed word(s).

AutoSave Feature

VB AutoTyper automatically saves all current settings and keyword/custom list items on exit or disconnection.

pin_D.bmp (918 bytes) Push Pins

To keep the settings window on top while making setting changes, click on the push pin icon beside the "Help" button. The window stays on top when the pin is pointing downward. Click again to revert back to the original position.


Auto-Expansion Design

By design, some words and character combinations do not expand.

Words do not autoexpand in the following instances:

  • when typing comments
  • after the words "Const", "Dim", "Redim", "Type", "Implements", "Event", "WithEvents", "As"
  • when the word is an event procedure, an event-type member, a short word/keyword (i.e., shorter than 5 characters in length), or an API function parameter

To avoid interference with the most commonly typed (short) VB keywords, the following words and character combinations have been programmed not to expand:

me, if, or, is, as, in, on, do, the, then, to, er, err, call, else, sub, call, case, left, top, len, mid, next,

wi, wit, with (typing "e" will autoexpand it to "withevents", if selected)

no, not (typing "h" will autoexpand it to "nothing", if selected)

se, set (avoids expanding "set")

en, end (avoids expanding "end")

fo, for (avoid expanding "for")

no, not (avoids expanding "not")

an, and (avoids expanding "and")

ap, app (avoids expanding "app")

ex, exi, exit (avoids expanding "exit")


IntelliKeys

intelli.jpg (2442 bytes)

Keys to Remember:
  • To accept the suggested auto-expansion, press the SPACEBAR Key
  • To delete the suggested auto-expansion with a resultant space, use the Shift-SpaceBar Key combination.
  • To delete the suggested auto-expansion without a resultant space, use the Delete Key.


History

List of Bugs Fixed and Enhancements

May 4, 1999 (Version 1.0.0)

(1) Problem with VB quitting unexpectedly when a resource (*.res) file is clicked has been fixed.

(2) Updated the list of available keywords.

May 10, 1999

(1) Added an error-handling routine that effectively eliminates GPFs

(2) Enabled a convenient auto-dot(.) and auto-equal(=) typing feature

(3) Enabled settings for word scope.

(4) Added a push-pin feature to keep the settings window always-on-top when testing various features.

(5) Various GUI enhancements

(6) Updated the list of available keywords.

May 13, 1999 (Version 1.0.2)

(1) Added a toolbar menu item for accessing VB AutoTyper.

(2) Added automatic [(), [)], [<], and [>] typing feature.

(3) Optimized some codes/routines.

May 16, 1999 (Version 1.0.3)

(1) Fixed several abnormal word expansion behaviors.

(2) Added automatic off feature when declaring variables, constants, or objects, and when typing comments.

(3) By design, words that begin with "fo", "for", "ex", "if", "el", "en", "or", "wi", "an", "and", "as", "is", "di", "dim", "err", "th", "the", "then", "app", and others were programmed not to autoexpand in order to avoid interference with commonly typed words.

(4) Streamlined the list of VB keywords to exclude words 4 characters or less in length. Also added new (VB 6.0) keywords.

May 25, 1999 (Version 1.0.4)

(1) Fixed autoexpansion mechanism for less interference

(2) Enabled the autosave feature for both settings and selected keywords

(3) New feature for adding custom words/phrases

(4) Added an "off/on" toolbar button for enabling/disabling the autotyper feature when desired.

(5) Added an update toolbar button for adding newly declared members from the currently active code module.

(6) Modified the options for the autotyper mode and wordscope settings

June 12, 1999 (Version 2.0.0)

(1) Implemented a new and mess-free algorithm for the auto-expansion mechanism. This is a major and significant update and explains the sudden leap in the version numbering to distinguish it from the previous versions!

(2) Added parse routines for local variables, user-defined types, and controls with coded event procedures.

(3) Implemented support for multiple projects (up to 3 for this version).

(4) Auto-update when a project component is added, renamed, or removed

(5) Fixed a problem with the implementation of the "off/on toolbar" button.

(6) Added an auto-add/subtract/multiply/divide typing feature after a word has expanded.

(7) Fixed the internal design and improved other related functions and subroutines.

(8) Implemented a fairly extensive "test plan" for eliminating hidden bugs or glitches.

(9) Substantial GUI enhancements

June 23, 1999 (Version 2.0.1)

(1) Expanded the word scope to include method parameters and form designer controls, with underlying event handler to take care of controls being added, removed, or renamed.

(2) Improved the routine that parses function or sub parameters and local variables, taking into consideration the possibilities of codes being continued on next line(s), the presence of end-of-code comments, and the presence of array-type parameters in functions and subroutines.

(3) Fixed a bug that generates an "Invalid procedure call or arguments" error message when the add-in is just starting to load.

(4) Fixed a routine that handles the autoexpansion of words after the word "As", and after the comma when coding a "MsgBox"-containing instruction.

(5) Updated the HTML Help component.

(6) Eliminated some dead codes and optimized codes for speed.

(7) Changed some GUI elements.

June 30, 1999 (Version 2.0.2)

(1) Fixed a bug that causes the progress window to freeze when loading designer-type project components (data designers, DHTML page designers, and other activeX designers).

(2) Added a custom progress bar to show users when the program is building or updating its wordlist.

(3) Modified the way the wordlist is loaded to avoid the forms and other components being unnecessarily opened, which is not acceptable to the intended users. This modification was based on a feedback by Mr. André Poisson (apoisson@videotron.ca).

(4) Fixed the implementation of the accelerated-typing feature involving the dot [.], [=],[,], [(], [)], [<], [>], [/], [\], [*], [-], and [+] characters. This feature now works correctly when there are characters at the end of the autoexpanded word.

(4) Optimized some functions and subroutines.


Bug Reporting

While the addin has been tested and debugged fairly extensively, and has shown a high degree of stability at this point, please let me know if you discover a bug or annoying program behavior. Suggestions are gladly welcome and greatly appreciated.

Two reproducible bugs or novel suggestions and you'll get a free full version of VB AutoTyper.

By the way, there's one issue that remains unresolved at this point -- VB AutoTyper cannot co-exist with another add-in named "CodeSMART". At some point, the two just tend to repulse each other.

Sincerely,

(Dr.) Audimar P. Bangi
apbangi@worldnet.att.net
Program Author

Copyright © Audi's Software
736 Ryan Court
Raleigh, North Carolina 27695
U.S.A.


License Agreement

VB AutoTyper ® Copyright © 1999 by Audi's Software
All rights reserved.

Please take note that this is a commercial software, not a free software. You are hereby licensed to use this software for evaluation purposes without charge for a period of 30 days. If you use this software after the 30-day evaluation period, a registration fee of $19.95 is required. Payments must be in US dollars drawn on a US bank, and should be sent to Audi's Software, 736 Ryan Court, Raleigh, North Carolina, USA 27606. When payment is received you will be promptly sent a registered copy of the latest version of VB AutoTyper, a printed manual, and discount coupons for upcoming product releases from Audi's Software.

The following End-User License Agreement (EULA) applies to this evalauation copy of VB AutoTyper.

END-USER LICENSE AGREEMENT

This software is protected by copyright laws and international copyright treaties.

1. GRANT OF LICENSE. This LICENSE AGREEMENT entitles you to the following limited, non-exclusive rights:

Installation and Use. You may install and use the software on a single computer only. You may not network the software or use it on more than one computer at the same time.

Registration Code. Upon receipt of your registration payment, a unique Product Identification Number will be issued to you as a registered user. This registration code may not be distributed in any way.

2. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.

Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse engineer, decompile, or disassemble this software.

Rental. You may not rent or lease this software product.

Software Transfer. You may permanently transfer all of your rights under this AGREEMENT provided that you retain no copies of the software and transfer all product components (disk media, printed documentation, any upgrades) and that the recipient agrees to be bound by this AGREEMENT.

Termination. This agreement may be terminated if you fail to comply with ANY of its terms and conditions.

3. EXPORT RESTRICTION. Illegal exportation or transmission of this software is strictly prohibited by law.

NO LIABILITY FOR CONSEQUENTIAL DAMAGES. THIS SOFTWARE IS SOLD “AS IS” WITHOUT WARRANTIES AS TO PERFORMANCE OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. In no event shall Audi's Software or the program author be liable for any damages whatsoever arising out of the use of or inability to use this software product.

GOVERNING LAW. This agreement shall be governed by the laws of the State of North Carolina, U.S.A.

Copyright® 1999 Audi's Software


Registration

A web-based registration is currently being put up for your convenience. In the mean time, please direct all registration requests or inquiries to:

Audi's Software
apbangi@worldnet.att.net
736 Ryan Court
Raleigh, North Carolina 27606
U.S.A.

Registration Fee*: US$19.95/User

What you get for registering:

  • Free program updates and technical support for one year
  • Program disks and printed manual
  • 30% discount on upcoming product releases -- NameSweeper Wizard and VB McCabe Code Analyzer!
  • "Un-Shrinked" add-in component

This is a fully-functional evaluation copy of VB AutoTyper.

* To cover the costs of program disks, printed manual, and shipping and handling.